package com.gzhryc.pay.adaptation.weixin.msg;

import java.io.Serializable;

public class WXPayNotify implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;          //通知ID
    private String create_time; //通知创建时间
    /**
     * 枚举值：
     * TRANSACTION.SUCCESS 支付成功通知
     * REFUND.SUCCESS：退款成功通知
     * REFUND.ABNORMAL：退款异常通知
     * REFUND.CLOSED：退款关闭通知
     */
    private String event_type;  //通知类型
    /**
     * 枚举值：
     * encrypt-resource  支付成功通知
     */
    private String resource_type;   //通知数据类型
    private String summary;     //回调摘要
    private Reosuce resource;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCreate_time() {
        return create_time;
    }

    public void setCreate_time(String create_time) {
        this.create_time = create_time;
    }

    public String getEvent_type() {
        return event_type;
    }

    public void setEvent_type(String event_type) {
        this.event_type = event_type;
    }

    public String getResource_type() {
        return resource_type;
    }

    public void setResource_type(String resource_type) {
        this.resource_type = resource_type;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public Reosuce getResource() {
        return resource;
    }

    public void setResource(Reosuce resource) {
        this.resource = resource;
    }

    public static class Reosuce {

        private String algorithm;		//加密算法类型,目前只支持AEAD_AES_256_GCM
        private String ciphertext;		//数据密文
        private String associated_data;	//附加数据
        private String original_type;   //原始类型,为transaction
        private String nonce;		    //随机串

        public String getAlgorithm() {
            return algorithm;
        }
        public void setAlgorithm(String algorithm) {
            this.algorithm = algorithm;
        }
        public String getCiphertext() {
            return ciphertext;
        }
        public void setCiphertext(String ciphertext) {
            this.ciphertext = ciphertext;
        }
        public String getAssociated_data() {
            return associated_data;
        }
        public void setAssociated_data(String associated_data) {
            this.associated_data = associated_data;
        }
        public String getOriginal_type() {
            return original_type;
        }
        public void setOriginal_type(String original_type) {
            this.original_type = original_type;
        }
        public String getNonce() {
            return nonce;
        }
        public void setNonce(String nonce) {
            this.nonce = nonce;
        }
    }
}
